/**
 * eCommerce Application Sample for J2EE Training
 * Remote interface for the EcomCustomer bean
 * EJB3.0
 * @author Amina 
 */
package ecom.beans.session;

import ecom.beans.entity.Accounts;
import ecom.beans.entity.Clients;
import ecom.beans.entity.Produits;
import ecom.beans.entity.Productstore;
import java.util.List;



public interface EcomCustomerRemote {

    /* Cette méthode permet de récupérer l'identifiant d'un utilisateur
     * lors de sa connexion
     */
    public int getAuthentication(String email, String password);

    /* Cette méthode permet d'envoyer le mot de passe d'une personne sur
     * le mail indiqué en paramètre
     */
    public void sendPasswordByMail(String mail);

    public boolean isLoginAvailable(String email);

    void createClients(int age, String password, String nom, String prenom, String email, String phone);

    public Accounts getAccountByIban(String iban);

      public boolean isEmailAvailable(String email);
    /****************************************************************/
    /*                     Gestion du caddie                        */
    /****************************************************************/

    /*Cette méthode permet d'ajouter un produit au caddie*/
    public void ajouterProductInCart(long idProduct);
    //public void addProduct(long idProduct, int quantite);

    /*Cette méthode permet de supprimer un produit du caddie*/
    public boolean supprimerProductInCart(long idProduct);
    //public void deleteProduct(long idProduct, int quantite);

    /*Cette méthode permet de renvoyer la liste des produits du caddie*/
    public List<Produits> getProductInCart();

    /*Cette méthode permet d'acheter le caddie*/
    public int buyCart(String login, double montant);
    public int buyCartShell(Accounts account);
    
     /*Cette méthode renvoie le produit associé à un identifiant*/
   public Produits getProductById(Long idProduct);

    public Clients getClientsByMail(String email);


   public void updateClientAddress(Long id, String rue, int numero, int cp, String pays);

   public void addClientAddress(Long id, String rue, int numero, int cp, String pays);
    
}
